FastAPI vs Django in 2026: Which one should you learn first?
Python Exception Handling in Hindi
प्रोग्रामिंग करते समय सब कुछ ठीक दिखने के बावजूद, रनटाइम पर कभी-कभी ऐसी अनचाही स्थितियां आ जाती हैं जिससे पूरा प्रोग्राम अचानक क्रैश हो जाता है। Python में प्रोग्राम को अचानक बंद होने से बचाने और गलतियों को सुरक्षित तरीके से संभालने की प्रक्रिया को Exception Handling कहा जाता है।
अगर आपने अभी तक बेसिक लूप्स और फंक्शन्स नहीं पढ़े हैं, तो पहले Python Continue & Loops या Python Classes & Objects जरूर पढ़ें। कोड को सीधे टेस्ट करने के लिए हमारा Online Python Editor & Compiler इस्तेमाल करें।
try, except, else, finally ब्लॉक्स का इस्तेमाल कैसे होता है, कॉमन बिल्ट-इन Exceptions (ValueError, TypeError, ZeroDivisionError, IndexError, KeyError) और एक रियल-वर्ल्ड सेफ कैलकुलेटर प्रोजेक्ट।
Exception क्या है?
Exception एक ऐसा अनपेक्षित इवेंट (अनचाही घटना) है जो प्रोग्राम के रनटाइम (Execution) के दौरान उत्पन्न होता है और प्रोग्राम के सामान्य फ्लो को बाधित (interrupt) कर देता है।
सरल भाषा में — Exception का मतलब है: "कोड का सिंटेक्स तो सही है, लेकिन प्रोग्राम चलने के दौरान कोई गड़बड़ हो गई (जैसे 0 से डिवाइड करना या गलत इनपुट देना), जिससे कोड बीच में ही क्रैश हो गया।"
Error vs Exception: मुख्य अंतर
| विशेषता | Error (सिंटेक्स एरर) | Exception (रनटाइम एरर) |
|---|---|---|
| कब आता है? | कोड रन होने से पहले (Parsing time पर) | प्रोग्राम रन होने के दौरान (Runtime पर) |
| कारण | गलत स्पेलिंग, मिसिंग कोलन :, इंडेंटेशन की गलती | गलत यूजर इनपुट, 0 से भाग, फाइल न मिलना आदि |
| हैंडल किया जा सकता है? | नहीं, कोड ठीक करना ही पड़ेगा | हाँ, try-except से आसानी से हैंडल हो जाता है |
| उदाहरण | SyntaxError, IndentationError | ValueError, ZeroDivisionError |
Exception Handling की जरूरत क्यों होती है?
मान लीजिए आपने एक बैंकिंग या बिलिंग सॉफ्टवेयर बनाया है। अगर किसी यूजर ने नंबर की जगह गलती से कोई टेक्स्ट टाइप कर दिया और आपका पूरा सॉफ्टवेयर अचानक बंद (क्रैश) हो गया, तो यूजर का अनुभव बहुत खराब होगा।
Exception Handling हमें यह क्षमता देती है कि प्रोग्राम क्रैश होने के बजाय यूजर को एक साफ-सुथरा एरर मैसेज दिखाए और बाकी का कोड बिना रुके चलता रहे।
try और except Block
Python में एक्सेप्शन संभालने का सबसे बेसिक ढांचा try और except है:
- try: इस ब्लॉक के अंदर हम वह कोड लिखते हैं जिसमें एरर आने की संभावना होती है।
- except: अगर
tryब्लॉक में कोई एरर आता है, तो प्रोग्राम क्रैश नहीं होता बल्कि यह ब्लॉक चलता है।
Output:
Specific Exceptions और Multiple except Blocks
सिर्फ खाली except: लिखने के बजाय हमें हमेशा Specific Exception का नाम लिखना चाहिए। एक try के साथ हम कई सारे except ब्लॉक्स भी लगा सकते हैं:
Output:
Top 5 Common Built-in Exceptions
Python में सबसे ज्यादा सामना इन पांच एक्सेप्शन्स से होता है:
1. ValueError
जब किसी फंक्शन को सही डेटा टाइप तो मिलता है लेकिन वैल्यू अनुचित होती है (जैसे int("hello"))।
2. TypeError
जब किसी गलत डेटा टाइप पर कोई ऑपरेशन करने की कोशिश की जाए (जैसे "Age: " + 25)।
3. ZeroDivisionError
जब किसी नंबर को 0 से भाग (divide) करने का प्रयास किया जाए (जैसे 5 / 0)।
4. IndexError
जब किसी List या Sequence में ऐसी इंडेक्स पोजीशन खोजने की कोशिश हो जो मौजूद ही न हो।
5. KeyError
जब किसी Dictionary में ऐसी Key खोजी जाए जो मौजूद न हो (जैसे user["email"])।
else और finally Blocks
Python हमें दो और उपयोगी ब्लॉक्स देता है:
- else: यह तभी चलता है जब
tryब्लॉक में कोई भी एरर न आए। - finally: यह ब्लॉक हर हाल में चलता ही चलता है — चाहे एरर आए या न आए। इसका इस्तेमाल मुख्य रूप से फाइल्स बंद करने या डेटाबेस कनेक्शन क्लोज करने के लिए होता है।
Output:
Real-World Practical Example: Safe Calculator
आइए एक ऐसा कंसोल कैलकुलेटर बनाते हैं जो यूजर के किसी भी गलत इनपुट या 0 से डिवाइड करने पर भी क्रैश न हो:
Output:
Common Beginner Mistakes
हमेशा संभावित एक्सेप्शन का नाम लिखें जैसे except ValueError: या कम से कम except Exception as e: लिखें ताकि एरर मैसेज देखा जा सके।
सिर्फ उन्हीं 2-3 लाइन्स को try ब्लॉक में रखें जहाँ इनपुट, फाइल या कैलकुलेशन में एरर आने का वास्तविक खतरा हो।
Exercise ?
वह कौन सा ब्लॉक है जो try में एरर आए या न आए, हर हाल में एग्जीक्यूट होता है?
Beginner Practical Coding Challenge
अब खुद अपने Online Python Editor में यह अभ्यास प्रश्न पूरा कीजिए:
- एक लिस्ट बनाइए:
scores = [85, 92, 78, 64]। - यूजर से एक इंडेक्स नंबर इनपुट लीजिए और उस इंडेक्स का स्कोर प्रिंट करने की कोशिश कीजिए।
try-exceptका उपयोग करके दो गलतियों को संभालिए:- अगर यूजर नंबर की जगह टेक्स्ट डाले तो
ValueErrorको पकड़ें। - अगर यूजर
4या उससे बड़ा इंडेक्स डाले तोIndexErrorको पकड़ें।
- अगर यूजर नंबर की जगह टेक्स्ट डाले तो
- अगर सब कुछ सही रहे तो
elseब्लॉक में "Score mil gaya!" प्रिंट करें औरfinallyमें "Search complete" दिखाएं।
Quick Revision
| कीवर्ड / ब्लॉक | कब चलता है? / क्या काम करता है? |
|---|---|
try | जिस कोड में एरर आने की आशंका हो उसे यहाँ रखा जाता है |
except | try में एरर आने पर यह ब्लॉक कोड को क्रैश होने से बचाता है |
else | तभी चलता है जब try में कोई भी एरर न आए |
finally | हमेशा चलता है (क्लीनअप कोड के लिए सबसे बेस्ट) |
ValueError | गलत वैल्यू या गलत टाइप कन्वर्जन पर |
ZeroDivisionError | किसी नंबर को शून्य से भाग देने पर |
IndexError / KeyError | लिस्ट की अमान्य इंडेक्स या डिक्शनरी की अमान्य की पर |
FAQ
Python में Exception Handling क्या है?
यह रनटाइम के दौरान आने वाले एरर्स को बिना प्रोग्राम क्रैश किए सुरक्षित तरीके से पकड़ने और संभालने का तंत्र है।
क्या एक try के साथ एक से ज्यादा except ब्लॉक्स हो सकते हैं?
हाँ, एक try के साथ आप अलग-अलग एरर्स (जैसे ValueError, ZeroDivisionError) के लिए अलग-अलग except ब्लॉक्स बना सकते हैं।
finally ब्लॉक का मुख्य उपयोग क्या है?
finally ब्लॉक का उपयोग क्लीनअप टास्क्स (जैसे ओपन फाइल्स को बंद करना या डेटाबेस कनेक्शन रिलीज करना) के लिए किया जाता है ताकि प्रोग्राम किसी भी हाल में रिसोर्सेज ब्लॉक न रखे।
SyntaxError और Exception में क्या फर्क है?
SyntaxError कोड लिखते समय भाषा के नियमों के उल्लंघन से होता है और कोड रन होने से पहले ही रुक जाता है, जबकि Exception कोड रन होने के दौरान गलत डेटा या लॉजिक से आता है।
Summary
Exception Handling = रनटाइम एरर्स को क्रैश होने से बचाना और प्रोग्राम को सुरक्षित दिशा देना।
इस ट्यूटोरियल में आपने सीखा कि Exception क्या है, Error और Exception का क्या फर्क है, try, except, else, और finally का इस्तेमाल कैसे किया जाता है, और कैसे हम कैलकुलेटर जैसे प्रोग्राम्स को क्रैश-प्रूफ बना सकते हैं।
ऊपर दिया गया स्कोर लिस्ट कोडिंग चैलेंज अपने ऑनलाइन एडिटर में तुरंत टेस्ट करें और मजबूत पकड़ बनाएं।
Related Articles
Python code likho, run karo aur practice karo — directly browser mein.

कोई टिप्पणी नहीं:
एक टिप्पणी भेजें